package bmatch.tech.todo.service;

import bmatch.tech.todo.model.LoginUser;
import bmatch.tech.todo.model.User;

public interface UserService {

    /**
     *检查邮箱是否已注册
     * @Param: emailAddress
     * @return:
     **/
    boolean checkMailReg(String emailAddress);

    /**
     *生成并发送激活码
     * @Param: email
     * @return:
     **/
    String createCdKey(String email);

    /**
    *验证激活码是否正确
    * @Param: email
    * @Param: text
    * @return:
    **/
    boolean verifyCdKey(String email, String text);

    /**
    *注册是否成功
    * @Param: user
    * @return:
    **/
    LoginUser register(User user);

    /**
    *登录是否成功
    * @Param: email
    * @Param: pwd
    * @return:
    **/
    LoginUser login(String email,String pwd);

    /**
    *修改密码
    * @Param: userId
    * @Param: pwd
    * @return:
    **/
    boolean foundPwd(String userId,String pwd);

    /**
    * 通过邮箱获取用户信息
    * @Param: email
    * @return:
    **/
    LoginUser getUserByEmail(String email);

    /**
    *更新用户信息
    * @Param: user
    * @return:
    **/
    boolean updateUser(LoginUser user);

    /**
    *通过用户主键id获取用户信息
    * @Param: id
    * @return:
    **/
    LoginUser getUserById(String id);

    /**
     *信息导入数据库
     * @Param: user
     * @return:
     **/
    User initUser(User user);


}
